package transaction

import (
	"ChainCodeProject/tools"
	"ChainCodeProject/wallet"
	"bytes"
)

/**
 * @author: 清秋
 * @email: 15770670622
 * @datetime: 10:23 2022/4/20
 * @Description:
 */

//创建一个交易输入的结构体
type Input struct {
	//交易Hash
	Txid []byte
	//交易输出索引位置
	Vout int
	//解锁脚本
	//ScriptSig []byte
	Sig []byte//签名
	Pubk []byte//公钥
}

//判断当前的消费是某个人的
func (input *Input) IsLock(from string) bool {
	if from == "" {
		return false
	}
	//1.获取对应这个人的公钥hash
	hash, err := wallet.GetPubHash(from)
	if err != nil{
		return false
	}
	//2.这个消费是属于谁的
	pub_sha256 := tools.GetHash(input.Pubk)
	pubhash := tools.Ripemd160(pub_sha256)
	return bytes.Compare(hash,pubhash) == 0
}
